package com.site.wisdom_construction.util;

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

/**
 * @author DYF
 * @Date 2021-12-01
 * @Description
 */
public class TimeUtils {
  /** 获取当前时间 */
  public static String getNowTime() { // 可根据需要自行截取数据显示
    // 获取当前时间d
    Date date = new Date();
    // 如果想比较日期则写成"yyyy-MM-dd"就可以了
    SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
    String time = simpleDateFormat.format(date);
    return time;
  }

  /** 获取当前时间 */
  public static String getNowTimeS() { // 可根据需要自行截取数据显示
    // 获取当前时间d
    Date date = new Date();
    // 如果想比较日期则写成"yyyy-MM-dd"就可以了
    SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    String time = simpleDateFormat.format(date);
    return time;
  }

  /** 将时间转换为时间戳 yyyy-MM-dd */
  public static String dateToStamp(String time) {
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    String stamp = "";
    // 时间不为空
    if (!"".equals(time)) {

      try {
        stamp = String.valueOf(sdf.parse(time).getTime() / 1000);
      } catch (Exception e) {
        System.out.println("参数为空！");
      }
    } else { // 时间为空
      // 获取当前时间
      long currentTime = System.currentTimeMillis();
      stamp = String.valueOf(currentTime / 1000);
    }
    return stamp;
  }

  /** 将时间转换为时间戳 yyyy-MM-dd HH:mm:ss */
  public static Integer dateToStampH(String time) {
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
    Integer stamp = 0;
    // 时间不为空
    if (!"".equals(time)) {
      try {
        stamp = Integer.valueOf(String.valueOf(sdf.parse(time).getTime() / 1000));
      } catch (Exception e) {
        System.out.println("参数为空！");
      }
    } else {
      // 时间为空
      // 获取当前时间
      long currentTime = System.currentTimeMillis();
      stamp = Integer.valueOf(String.valueOf(currentTime / 1000));
    }
    return stamp;
  }

  /** 将时间转换为时间戳 yyyy-MM-dd HH:mm:ss */
  public static Integer getStampH() {
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    Integer stamp = 0;
    // 获取当前时间
    long currentTime = System.currentTimeMillis();
    stamp = Integer.valueOf(String.valueOf(currentTime / 1000));

    return stamp;
  }

  /**
   * 返回傳入日期的前或后第n个月的日期, 如果 lisdate 为now, 则代表当前日期

   * @return
   * @AddBy 2020-12-24
   * @author xyLi
   */
  public static String getDateByMonth(String lisdate, int interval) {
    DateFormat format2 =  new SimpleDateFormat("yyyy-MM-dd");
    Date date = new Date();
    if (!"now".equals(lisdate)) {
      try {
        date = format2.parse(lisdate);
      } catch (Exception e) {
        e.printStackTrace();
      }
    }
    Calendar c = Calendar.getInstance();
    c.setTime(date);
    SimpleDateFormat format =  new SimpleDateFormat("yyyy-MM-dd");
    c.add(Calendar.MONTH, interval);
    String time = format.format(c.getTime());

    return time;
  }

}
